import 'package:flutter/material.dart';
import 'package:flutter2/colors.dart';
import 'package:flutter2/widget/base/normal_button.dart';
import 'package:flutter2/widget/base/normal_text.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:permission_handler/permission_handler.dart';

class DialogPermission extends StatelessWidget {
  const DialogPermission({super.key});

  @override
  Widget build(BuildContext context) {
    return Container(
      decoration: BoxDecoration(
        color: Colors.white,
        borderRadius: BorderRadius.only(
          topLeft: Radius.circular(10),
          topRight: Radius.circular(10),
        ),
      ),
      child: Column(
        mainAxisSize: MainAxisSize.min,
        children: [
          Flexible(
            child: SingleChildScrollView(
              physics: BouncingScrollPhysics(),
              padding: EdgeInsets.symmetric(horizontal: 16),
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  SizedBox(height: 20),
                  NormalText(
                    fontSize: 14,
                    fontColor: mainText2,
                    text: "Para ofrecerte un mejor servicio de préstamos y procesar tu solicitud de manera eficiente, necesitamos los siguientes permisos:",
                  ),
                  SizedBox(height: 10),
                  ...getItems("Permiso de SMS:",
                      "Recibimos SMS solo para confirmar tu identidad y el código de acceso dinámico, lo cual garantiza que el préstamo se depositará de manera rápida y segura en tu cuenta. Tu información de privacidad estará protegida de manera estricta."),
                  ...getItems("Permiso de cámara:", "Para ofrecerte un mejor servicio de préstamos y procesar tu solicitud de manera eficiente, necesitamos los siguientes permisos:"),
                  ...getItems("Permiso de ubicación:", "Recopilamos tu ubicación para simplificar el proceso de solicitud y ofrecerte servicios personalizados."),
                  NormalText(
                    fontSize: 14,
                    fontColor: mainText2,
                    text:
                        "Así como también necesitamos acceso a otra información financiera relacionada, incluyendo pero no limitada a documentos financieros, historial de préstamos, etc.\nTodos los datos se transmitirán de manera segura a nuestro servidor (api.lemocredito.com) solo para la detección de riesgos durante la solicitud de préstamo. Nos comprometemos a proteger la seguridad de tus datos y no los compartiremos con terceros.",
                  ),
                ],
              ),
            ),
          ),
          NormalButton(
            margin: EdgeInsets.symmetric(horizontal: 16, vertical: 20),
            width: double.infinity,
            text: "Bien, comenzemos",
            click: () async {
              SmartDialog.dismiss();
              await [Permission.camera, Permission.sms, Permission.locationWhenInUse].request();
            },
          )
        ],
      ),
    );
  }

  List<Widget> getItems(String title, String content) {
    return [
      SizedBox(
        height: 10,
      ),
      NormalText(
        fontSize: 14,
        fontColor: mainText,
        text: title,
        fontWeight: FontWeight.bold,
      ),
      SizedBox(height: 10),
      NormalText(
        fontSize: 14,
        fontColor: mainText2,
        text: content,
        fontWeight: FontWeight.w500,
      ),
      SizedBox(height: 10),
    ];
  }
}
